Bollard receiver identification

ABSTRACT

The disclosure relates generally to methods, systems, and apparatuses for automated or assisted driving and more particularly relates to identification, localization, and navigation with respect to bollard receivers. A method for detecting bollard receivers includes receiving perception data from one or more perception sensors of a vehicle. The method includes determining, based on the perception data, a location of one or more bollard receivers in relation to a body of the vehicle. The method also includes providing an indication of the location of the one or more bollard receivers to one or more of a driver and component or system that makes driving maneuver decisions.

CROSS REFERENCE TO RELATED PATENT APPLICATION(S)

The present disclosure is part of a continuation of U.S. patentapplication Ser. No. 15/010,665, filed on Jan. 29, 2016, the content ofwhich is incorporated by reference in its entirety.

TECHNICAL FIELD

The disclosure relates generally to methods, systems, and apparatusesfor automated or assisted driving and more particularly relates toidentification, localization, and navigation with respect to bollardreceivers.

BACKGROUND

Automobiles provide a significant portion of transportation forcommercial, government, and private entities. Due to the high value ofautomobiles and potential harm to passengers and drivers, driver safetyand avoidance of collisions, accidents, or other damage to vehicles areextremely important. For example, bollard receivers are often locatedwithin a street or roadway and are used to mount bollards (e.g., posts)that are installed on the street or roadway to direct or block trafficon a part of the street or roadway. When bollards are removed from thebollard receivers, the bollard receivers remain in the street or roadwayand can cause damage to portions of a vehicle if the vehicle drives overa bollard receiver. Thus, it is important to identify and locatepotential problems in a street or roadway, such as bollard receivers, toavoid potential damage to a vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive implementations of the presentdisclosure are described with reference to the following figures,wherein like reference numerals refer to like parts throughout thevarious views unless otherwise specified. Advantages of the presentdisclosure will become better understood with regard to the followingdescription and accompanying drawings where:

FIG. 1 is a schematic block diagram illustrating an implementation of avehicle control system that includes an automated driving/assistancesystem;

FIG. 2 illustrates a plurality of bollards located in bollard receivers,according to one implementation;

FIG. 3 illustrates a plurality of bollard receivers with the bollardsremoved, according to one implementation;

FIG. 4 is a schematic top view diagram illustrating modifying atrajectory based on the presence of bollard receivers, according to oneimplementation;

FIG. 5 is a schematic diagram illustrating a method for determining achange in heading for a vehicle, according to one implementation;

FIG. 6 is a schematic block diagram illustrating example components of abollard component, according to one implementation; and

FIG. 7 is a schematic flow chart diagram illustrating a method fordetecting bollard receivers, according to one implementation.

DETAILED DESCRIPTION

The disclosure relates generally to methods, systems, and apparatusesfor automated or assisted driving and more particularly relates toidentification, localization, and navigation with respect to bollardreceivers. Bollards are short vertical posts that are sometimes used todirect, reroute, or block traffic on a roadway. In order to enableflexibility in blocking or rerouting traffic, some bollards areremovable and can be selectively mounted in a bollard receiver. Withbollards removed, vehicles may be allowed to pass. However, thesebollard receivers can cause severe damage to a vehicle if they are notnoticed and the vehicle is driven over them. Specifically, driving overbollard receivers can cause damage to vehicle tires or other portions ofthe vehicle. For example, sharp edges may form on the bollard receivers,which can slice or cut tires. As another example, depending on how highthe bollard receivers protrude above the ground, parts underneath thevehicle, such as the front suspension, may impact the bollard receiversand be damaged.

The present disclosure describes systems, methods, and devices fordetecting bollard receivers and avoiding vehicle damage. According toone embodiment, a method includes receiving perception data from one ormore perception sensors of a vehicle and determining, based on theperception data, a location of one or more bollard receivers in relationto a body of the vehicle. The method also includes providing anindication of the location of the one or more bollard receivers to oneor more of a driver and driving maneuver decision component.

Perception data may be received from sensors or other data sources for adriving system. For example, perception data may include data from acamera, a radar system, a light detection and ranging (LIDAR) system, anultrasound system, and/or a control area network (CAN) bus of a vehicle.Any of this sensor data can be provided as input to a fusion algorithmtrained to detect and/or localize bollard receivers.

In one embodiment, system or method may determine an X, Y and Z locationof a bollard receiver with reference to a body co-ordinate system of thevehicle. For example, the sensor input may be combined to estimate thelocation of bollard receivers with reference to the vehicle.Additionally, by using the information from the CAN bus like pitch,vehicle speed, and height (e.g., a height of one or more portions of anundercarriage of the vehicle) a position of the front wheels can beaccurately determined. The X, Y, and Z location of bollard receivers maybe used by the vehicle (or a driver) to navigate through the bollardreceiver without doing any damage to the vehicle. Furthermore, a heightand other location information may be used to determine how to controlactive suspension of the vehicle to reduce or avoid damage to thevehicle or to increase comfort in case a bollard receiver cannot beavoided. A system may alternatively, or additionally, provide a warningto a human driver such that damage to the car can be prevented. Thus,the detection and localization by a system may be used to automaticallywarn a human driver, automated driving system, or driving assistancesystem or to increase driver or passenger comfort without additionalsensor cost to the system.

The present disclosure also describes systems, methods, and devices fornavigating through or around bollard receivers. For example, once datafrom sensors is used to accurately detect the presence of the bollardreceivers, it may be necessary to compute a best or safest path over,between, or around the bollard receivers to ensure no damage or minimaldamage to the vehicle. In one embodiment, a vehicle perception systemuses vehicle sensors to detect a presence of bollard receivers on theroadway ahead. The location (i.e., x, y position or dimension) as wellas height (i.e., z dimension) of each receiver with respect to thevehicle reference frame is then known. With the knowledge of the heightof the vehicle's suspension above ground, a control action may be takento hit the brakes and stop if the receiver's height is greater than theheight of the vehicle's suspension or an action may be taken to maneuveror proceed around the receivers, if possible.

In one embodiment, if the height of a bollard receiver is not greaterthan the vehicle's suspension height, then the vehicle still needs tonavigate itself so as to prevent the wheels of the vehicle from beingdamaged by the bollard receivers. To ensure that no part of the vehicleis damaged, a system may enforce a safety margin (e.g., such as aboutone foot) to maintain between each wheel of the vehicle and the bollardreceivers.

According to one implementation, a circle with a radius equal to thesafety margin and centered at a bollard receiver is determined as aregion to have tires of the vehicle avoid. An angle formed between anx-axis of the body coordinate system of the vehicle (e.g., longitudinalaxis of the vehicle frame) and a tangent from the center of the frontaxle to an edge of the circle is calculated. In one embodiment, thetangent is always drawn towards a side away from oncoming traffic. Forexample, the tangent may be drawn to the right-hand side in right-handside driving environments as this would cause the vehicle to drive overthe shoulder, if needed, as opposed to entering into an oncoming trafficlane. The angle between the x-axis and tangent may be used as thedesired heading angle of the vehicle. The vehicle control system mayminimize the error between the vehicle's current heading angle and thedesired angle and, in the process, safely navigate past the bollardreceivers without causing any damage to the vehicle. In one embodiment,extra care is taken to prevent the tire sidewalls from coming intocontact with the bollard receivers as they can have sharp edges, anddamage to the sidewalls are usually not legally repairable and can causeparticularly sudden deflation.

Referring now to the figures, FIG. 1 illustrates an example vehiclecontrol system 100 that may be used to automatically detect bollardreceivers. An automated driving/assistance system 102 may be used toautomate or control operation of a vehicle or to provide assistance to ahuman driver. For example, the automated driving/assistance system 102may control one or more of braking, steering, acceleration, lights,alerts, driver notifications, radio, or any other auxiliary systems ofthe vehicle. In another example, the automated driving/assistance system102 may not be able to provide any control of the driving (e.g.,steering, acceleration, or braking), but may provide notifications andalerts to assist a human driver in driving safely. The automateddriving/assistance system 102 may include a bollard component 104 thatuses a neural network, or other model or algorithm, to determine that abollard receiver is present and may also determine location, height, orother information about the bollard receiver. In one embodiment, theautomated driving/assistance system 102 may determine a driving maneuveror driving path to avoid or reduce damage to a vehicle that may resultfrom driving over or near the bollard receivers.

The vehicle control system 100 also includes one or more sensorsystems/devices for detecting a presence of nearby objects ordetermining a location of a parent vehicle (e.g., a vehicle thatincludes the vehicle control system 100). For example, the vehiclecontrol system 100 may include radar systems 106, one or more LIDARsystems 108, one or more camera systems 110, a global positioning system(GPS) 112, and/or ultra sound systems 114. The vehicle control system100 may include a data store 116 for storing relevant or useful data fornavigation and safety, such as map data, driving history, or other data.The vehicle control system 100 may also include a transceiver 118 forwireless communication with a mobile or wireless network, othervehicles, infrastructure, or any other communication system.

The vehicle control system 100 may include vehicle control actuators 120to control various aspects of the driving of the vehicle such aselectric motors, switches or other actuators, to control braking,acceleration, steering or the like. The vehicle control system 100 mayalso include one or more displays 122, speakers 124, or other devices sothat notifications to a human driver or passenger may be provided. Adisplay 122 may include a heads-up display, dashboard display orindicator, a display screen, or any other visual indicator, which may beseen by a driver or passenger of a vehicle. The speakers 124 may includeone or more speakers of a sound system of a vehicle or may include aspeaker dedicated to driver notification.

It will be appreciated that the embodiment of FIG. 1 is given by way ofexample only. Other embodiments may include fewer or additionalcomponents without departing from the scope of the disclosure.Additionally, illustrated components may be combined or included withinother components without limitation.

In one embodiment, the automated driving/assistance system 102 isconfigured to control driving or navigation of a parent vehicle. Forexample, the automated driving/assistance system 102 may control thevehicle control actuators 120 to drive a path on a road, parking lot,driveway or other location. For example, the automateddriving/assistance system 102 may determine a path based on informationor perception data provided by any of the components 106-118. The sensorsystems/devices 106-110 and 114 may be used to obtain real-time sensordata so that the automated driving/assistance system 102 can assist adriver or drive a vehicle in real-time. The automated driving/assistancesystem 102 may implement an algorithm or use a model, such as a deepneural network, to process the sensor data and identify a presence,location, and/or height of a bollard receiver.

Referring now to FIG. 2, a picture or image 200 of a plurality ofbollards 202 is illustrated. The bollards 202 are shown distributedacross a roadway. The bollards 202 may be used to restrict traffic alongthe roadway, for example, to allow pedestrians to safely cross a streetor intersection. In one embodiment, the bollards 202 may be selectivelyremoved or installed in bollard receivers 204 to provide the ability toselectively allow or block traffic. For example, the bollards 202 may beinstalled in the bollard receivers 204 during events when there may belarge number of pedestrians and it is desired to block traffic along theroadway or through the intersection. Similarly, the bollards 202 may beremoved when it is desirable for traffic to move through the roadway orintersection. However, even when the bollards 202 are removed, thereceivers 204 must generally remain in or on the roadway.

FIG. 3 illustrates a picture or image 300 of a roadway with bollardreceivers 302 where the bollards (such as bollards 202) have beenremoved. Due to the absence of the bollards, a vehicle 304 may beallowed to drive along the roadway. However, bollard receivers 302sometimes extend some height above a roadway and may present a risk ofdamaging portions of a vehicle, reducing driver or passenger comfort, orotherwise interrupting driving of a vehicle 304. In one embodiment, abollard component 104 (e.g., in the vehicle 304) may detect and localizethe bollard receivers 302 and determine a driving maneuver or drivingpath to avoid causing damage to the vehicle 304. The bollard component104 may determine a path that includes avoiding impact with the bollardreceivers 302. In one embodiment, the bollard component 104 maydetermine a path that cause one or more tires to impact the bollardreceivers with a tread of the one or more tires. For example, bollardreceivers 302 may have sharp metal edges that can be particularlydamaging to sidewalls of vehicle tires. In one embodiment, the bollardcomponent 104 may determine that the bollard receivers 302 extend to aheight sufficient to damage an undercarriage or other part of thevehicle 304 and may cause the vehicle to stop before impacting a bollardreceiver 302.

FIG. 4 is a schematic top view diagram 400 illustrating thedetermination of a driving path that provides a safety margin between avehicle's tires and any bollard receivers, according to one embodiment.The diagram 400 shows a vehicle 402 having an original trajectoryindicated by dashed lines 412. A plurality of bollard receivers 404 arelocated ahead of the vehicle 402. In one embodiment, a bollard component104 of the vehicle 402 may detect the bollard receivers 404. The bollardcomponent 104 may determine a location, height, size, or the like of thebollard receivers 404.

In one embodiment, the bollard component 104 identifies a safety marginregion 406 around one or more of the bollard receivers 404, which shouldbe avoided by tires of the vehicle 402. The safety margin regions 406may include circles centered on the bollard receivers 404 having asafety margin radius. The safety margin may be predetermined, forexample based on a height of a lowest non-tire portion of a vehicle. Inone embodiment, the safety margin may be determined based on a height ofthe bollard receivers 404. The bollard component 104 may calculate amodified trajectory based on a current location of the vehicle 402 andthe safety margin regions 406. In one embodiment, the bollard component104 may determine a tangent line 408 that is tangent to a safety marginregion 406 and intersects with a current trajectory of a tire. An angle410 between the original trajectory (line 412) and a tangent line 408may be computed to determine a required change in heading in order toavoid the safety margin region(s) 406. In one embodiment, if the angle410 is too great for a current velocity of the vehicle to perform, thebollard component 104 may slow the vehicle 402, stop the vehicle 402, orcause the vehicle 402 to impact the bollard receivers 404 with a treadportion of one or more tires. The bollard component 104 may select amaneuver based on a safest or available maneuver based on the currentdriving environment (e.g., speed, nearby objects or cars, or the like).

FIG. 5 is a schematic diagram illustrating a method 500 for computing achange in heading, according to one embodiment. The method 500 may beperformed by a bollard component 104 and/or an automateddriving/assistance system 100.

Perception data 502 is received and a system identifies and localizesone or more bollard receivers at 504. Based on the location of thebollard receivers, the system identifies a region, R_(a), to avoid at506. For example, the region R_(a) may include a circle centered on abollard receiver and having a radius corresponding to a safety marginfor a parent vehicle. The system determines a line tangent to the regionR_(a) that intersects a current trajectory of the vehicle at 508. Basedon the tangent line a change in heading, such as an angle between thetangent line and the current trajectory, may be computed. A maneuver tochange the heading by the specified amount may then be performed by thevehicle to avoid damage from the bollard receivers.

FIG. 6 is schematic a block diagram illustrating example components of abollard component 104. In the depicted embodiment, the bollard component104 includes a perception data component 602, a location component 604,a notification component 606, a suspension component 608, a drivingmaneuver component 610, and a history component 612. The components602-612 are given by way of illustration only and may not all beincluded in all embodiments. In fact, some embodiments may include onlyone or any combination of two or more of the components 602-612. Some ofthe components 602-612 may be located outside the bollard component 104.

The perception data component 602 is configured to receive perceptiondata from one or more perception sensors of a vehicle. For example, theperception data component 602 may receive sensor data from a camera, aradar system, a LIDAR system, and/or an ultrasound sensor. Theperception data may include data for regions in any direction from thevehicle. For example, as a vehicle navigates down a road, or through anyother driving environment, sensor systems may periodically provide dataregarding the driving environment.

The location component 604 is configured to detect and/or determine alocation of one or more bollard receivers. In one embodiment, thelocation component 604 determine a location of one or more bollardreceivers with respect to a vehicle. For example, the location component604 may generate an X, Y, and/or Z coordinate for one or more of thebollard receivers with respect to the vehicle or a body coordinatesystem of the vehicle. The X parameter may indicate a distance to afront or rear of a front bumper, center, or other location of a vehicle.The Y parameter may indicate a distance to a left or right of a sidepanel, center, or other location of a vehicle. The Z parameter mayindicate a height of the bollard receiver with respect to a drivingsurface or a tire of the vehicle. In one embodiment, the location of thebollard receiver may be determined based, at least partially, oninformation from a CAN bus of the vehicle. For example, the CAN bus mayprovide information such as vehicle pitch, vehicle speed, vehicleheight, or any other information about the vehicle and the locationcomponent 604 may determine a location of the one or more bollardreceivers based on this information.

In one embodiment, the location component 604 may determine the locationof the bollard receivers based, at least partially, on a vehicle drivinghistory. For example, the driving history of a parent vehicle or anothervehicle may include information about the location, height, or size ofthe bollard receivers. By referencing the driving history, the locationcomponent 604 can determine where to look to detect and/or obtain anaccurate location for the bollard receivers with respect to the vehicle.

The notification component 606 is configured to provide a notificationof the presence or location of one or more bollard receivers to a humandriver or a portion of a system that makes driving decisions. In oneembodiment, the notification component 606 may provide a notification toa human driver that the bollard receivers are present. For example, thenotification may be provided on a display, such as a heads-up display,or using a speaker to provide a voice or audio notification. Thenotification may indicate a location of the one or more bollardreceivers to direct the human driver's attention to the location of thebollard receivers. In one embodiment, the notification component 606suggests a maneuver to be performed. For example, the notificationcomponent 606 may suggest that a driver slow down or stop, change aheading to avoid impacting the bollard receivers, or perform any otherdriving maneuver.

In one embodiment, the notification component 606 is configured tonotify a decision making system or component of an automateddriving/assistance system 102. For example, the notification component606 may provide a notification to a driving maneuver component 610indicating a location of the bollard receivers or a suggested maneuverto perform to avoid the bollard receivers. The decision making system orcomponent of the automated driving/assistance system 102 may then beable to use the location or suggested maneuver and take that informationinto account in determining a driving path or driving maneuvers to beperformed by the vehicle.

The suspension component 608 is configured to adjust suspension of avehicle in response to detection and/or localization of bollardreceivers. For example, the suspension component 608 may increase asuspension height at one or more wheels of the vehicle to avoid impactbetween portions of the vehicle and the bollard receivers. As anotherexample, the suspension component 608 may modify a suspension height orfirmness. In one embodiment, the suspension component 608 may adjust anactive or semi-active suspension system to increase safety, drivercomfort, or the like based on a height or location of the bollardreceivers. For example, bollard receivers that are even with a roadsurface may require no suspension adjustment, while bollard receiversthat extend above a threshold height (e.g., above an inch) may require alarge amount of suspension adjustment. In one embodiment, an amount ofadjustment for the suspension may be based on current speed or velocityof a vehicle, height of the bollard receivers, an angle or curvature ofa road surface, or any other information about the vehicle or asurrounding driving environment.

The driving maneuver component 610 is configured to determine or selectone or more driving maneuvers for a vehicle. In one embodiment, thedriving maneuver component 610 may determine a driving maneuver based oninformation about the vehicle, current driving conditions, currentvelocity or other information from a CAN bus, and/or a height andlocation of the bollard receivers. In one embodiment, the drivingmaneuver component 610 determines a driving maneuver that will avoid orreduce damage to the vehicle. For example, the driving maneuvercomponent 610 may compare a height of the bollard receiver to a knownheight of a portion of the vehicle to determine whether the vehicleshould stop and not proceed over the one or more bollard receivers orwhether the vehicle should be maneuvered to avoid passing certainregions of the vehicle over the location of one or more bollardreceivers. In one embodiment, the driving maneuver component 610 mayselect or identify driving maneuvers that could be performed to follow asafe driving path through or around the bollard receivers.

In one embodiment, the driving maneuver component 610 determines achange in heading for a current or future position of the vehicle toavoid impact with or damage from the bollard receivers. For example, thedriving maneuver component 610 may identify one or more areas to avoidand may then identify a change in heading to avoid those areas. In oneembodiment, the driving maneuver component determines a safety marginfor avoiding bollard receivers. In one embodiment, the safety margin maybe based on the specific vehicle, the specific height of the bollardreceiver, and/or one or more driving conditions. Based on the safetymargin, the driving maneuver component 610 may identify safety marginregions centered on each bollard receiver, which the vehicle shouldavoid. In one embodiment, the safety margin regions are circular regionssurrounding each detected bollard receiver.

In one embodiment, the driving maneuver component 610 calculates anangle between a current heading of the vehicle (e.g., an x-axis of thevehicle) and a line tangent to one or more safety regions thatintersects with a wheel, axis, or center point of the vehicle. Thedriving maneuver component 610 may then use the calculated angle as adesired change in heading and may determine a driving maneuver, such asa turn or slowing of the vehicle, to perform the desired heading change.After performing the desired heading change, each wheel of the vehiclemay avoid the safety margin regions to allow the vehicle to safely passover or around the bollard receivers. In one embodiment, the drivingmaneuver component 610 may prioritize heading changes that cause thevehicle to turn away from a parallel or oncoming lane. For example, thedriving maneuver component 610 may cause the vehicle to turn to a sidewhere a shoulder of a road is located or into a turning lane, as long asthere is not a risk of going off the roadway or impacting objectslocated on the shoulder or turning lane.

In one embodiment, the driving maneuver component 610 selects a drivingmaneuver that causes one or more tires to impact the bollards using atread portion. For example, if the safety regions of the bollardreceivers cannot be avoided, it may be safer to have the treads of thetires impact the bollard receivers. Impacting the bollard receivers witha tread portion may limit a risk of the bollard receivers impacting aside wall or undercarriage of the vehicle.

The history component 612 is configured to log information about bollardreceivers to a driving history. For example, the history component 612may log a location, height, or other information about bollard receivers(or bollards) to the driving history within the data store 116 ofFIG. 1. In one embodiment, the history component 612 may log informationto the driving history upon detection or upon driving over or avoidingthe bollard receivers. For example, the history component 612 may waituntil the vehicle has passed over or around the bollard receivers to loginformation about the bollard receivers to the driving history. Forexample, more accurate or complete information about the bollardreceivers may be obtained as the vehicle approaches, passes over oraround, and/or leaves the location of the bollard receivers. Thisaccurate information may then be logged to the driving history so thatthe vehicle (or other vehicles) can have a high level of detail aboutthe bollard receivers and know how best to safely maneuver around orover the bollard receivers. For example, relative positions, locations,heights, and other information may be readily available even before avehicle initially detects the bollard receivers using its own perceptiondata. In one embodiment, the history component 612 may log one or moreof a location of the one or more bollard receivers, a height of at leastone of the one or more bollard receivers, a path driven by the vehiclewith respect to the one or more bollard receivers, an amount of forceexperienced by suspension systems of the vehicle as the vehicle passedover the bollard receivers, or any other information.

Referring now to FIG. 7, a schematic flow chart diagram of a method 700for detecting bollard receivers is illustrated. The method 700 may beperformed by a bollard component or an automated driving/assistancesystem, such as the bollard component 104 of FIG. 1 or 6 or theautomated driving/assistance system 102 of FIG. 1.

The method 700 begins and a perception data component 602 receivesperception data from one or more perception sensors of a vehicle at 702.A location component 604 determines, based on the perception data, alocation of one or more bollard receivers in relation to a body of thevehicle at 704. For example, the location component 604 may use a neuralnetwork or object recognition algorithm to detect or identify thebollard receivers within an image or other frame of sensor data. In oneembodiment, the location component 604 determines a location of thebollard receivers at least partially based on a driving history. At 706,a notification component 606 provides an indication of the location ofthe one or more bollard receivers to one or more of a driver and drivingmaneuver decision component. For example, the notification may beprovided on a display for the driver. As another example, thenotification may be provided to a driving maneuver decision componentthat is part of an automated driving/assistance system 102 or a drivingmaneuver component 610. In one embodiment, the driving maneuver decisioncomponent may use the location or other information about the bollardreceivers into a decision matrix in order to decide what maneuvers, ifany, should be performed by the vehicle to avoid or reduce damage to thevehicle.

EXAMPLES

The following examples pertain to further embodiments.

Example 1 is a method that includes receiving perception data from oneor more perception sensors of a vehicle. The method includesdetermining, based on the perception data, a location of one or morebollard receivers in relation to a body of the vehicle. The methodfurther includes providing an indication of the location of the one ormore bollard receivers to one or more of a driver and driving maneuverdecision component.

In Example 2, the method of Example 1 further includes determining thelocation in relation to the body based on information from a CAN bus ofthe vehicle.

In Example 3, determining the location in any of Examples 1-2 includesdetermining further based on a vehicle driving history.

In Example 4, the one or more perception sensors in any of Examples 1-3include two or more of a camera, a radar sensor, a LIDAR sensor, a radarsensor, and an ultrasound sensor.

In Example 5, the method of any of Examples 1-4 further includesdetermining a height of the bollard receiver based on the perceptiondata.

In Example 6, the method of any of Examples 1-5 further includedetermining a driving maneuver based on the location of the one or morebollard receivers.

In Example 7, the method of Example 6 further includes determining asafety margin for tires of the vehicle with respect to the one or morebollard receivers. Determining the driving maneuver includes determininga driving maneuver to avoid driving a tire of the vehicle within thesafety margin of the one or more bollard receivers.

In Example 8, the method of any of Examples 6-7 includes determining adriving a maneuver that includes driving over a bollard receiver of theone or more bollard receivers using a tread portion of a tire of thevehicle.

In Example 9, the method of any of Examples 1-8 further includeadjusting an active suspension of the vehicle based on a presence of theone or more bollard receivers.

In Example 10, the method of any of Examples 1-9 further include logginginformation about the bollard receiver to a driving history.

Example 11 is a system that includes a perception data component, alocation component, and a driving maneuver component. The perceptiondata component is configured to receive perception data from one or moreperception sensors of a vehicle. The location component is configured todetermine, based on the perception data, a location of one or morebollard receivers in relation to a body of the vehicle. The drivingmaneuver component is configured to determine a driving maneuver toavoid or reduce damage to the vehicle based on the location of the oneor more bollard receivers.

In Example 12, the driving maneuver component of Example 11 is furtherconfigured to determine a safety margin for tires of the vehicle withrespect to the one or more bollard receivers, wherein the drivingmaneuver component is configured to select a driving maneuver to causeeach tire of the vehicle to either avoid coming within the safety marginof the one or more bollard receivers or to impact a bollard receiver ofthe one or more bollard receivers with a tread portion.

In Example 13, the system of any of Examples 11-12 further includes asuspension component configured to adjust a suspension of the vehiclebased on a presence of the one or more bollard receivers, whereinadjusting the suspension of the vehicle includes one or more ofadjusting a height of a portion of the vehicle and adjusting a stiffnessof the suspension of a portion of the vehicle.

In Example 14, the system of any of Examples 11-13 further include anotification component configured to provide the driving maneuver as asuggestion to a driver of the vehicle and/or provide the drivingmaneuver to a vehicle control system of the vehicle to perform thedriving maneuver.

Example 15 is computer readable storage media storing instructions that,when executed by one or more processors, cause the one or moreprocessors to receive perception data from one or more perceptionsensors of a vehicle. The instructions cause the one or more processorsto determine, based on the perception data, a location of one or morebollard receivers in relation to a body of the vehicle. The instructionscause the one or more processors to provide an indication of thelocation of the one or more bollard receivers to one or more of a driverand an automated driving system.

In Example 16, the instructions of Example 15 further cause the one ormore processors to log information about the one or more bollardreceivers to a driving history. The logged information about the one ormore bollard receivers includes one or more of the location of the oneor more bollard receivers, a height of at least one of the one or morebollard receivers, and a path driven by the vehicle with respect to theone or more bollard receivers.

In Example 17, the instructions of any of Examples 15-16 further causethe one or more processors to determine a driving path based on thelocation of the bollard receiver to avoid or reduce damage to thevehicle.

In Example 18, the instructions of Example 17 further cause the one ormore processors to determine a safety margin for tires of the vehiclewith respect to the one or more bollard receivers, wherein determiningthe driving path includes determining a driving path that causes eachtire of the vehicle to either avoid driving a tire of the vehicle withinthe safety margin of the one or more bollard receivers or to impact abollard receiver of the one or more bollard receivers with a treadportion.

In Example 19, the instructions of any of Examples 17-18 further causethe one or more processors to determine a height of the one or morebollard receivers with respect to a road surface and determine thedriving path based additionally on the height.

In Example 20, the instructions in any of Examples 15-19 further causethe one or more processors to adjust an active suspension of the vehiclebased on a presence of the one or more bollard receivers.

Example 21 is a system or device that includes means for implementing amethod or realizing a system or apparatus as in any of Examples 1-20.

In the above disclosure, reference has been made to the accompanyingdrawings, which form a part hereof, and in which is shown by way ofillustration specific implementations in which the disclosure may bepracticed. It is understood that other implementations may be utilizedand structural changes may be made without departing from the scope ofthe present disclosure. References in the specification to “oneembodiment,” “an embodiment,” “an example embodiment,” etc., indicatethat the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

As used herein, “autonomous vehicle” may be a vehicle that acts oroperates completely independent of a human driver; or may be a vehiclethat acts or operates independent of a human driver in some instanceswhile in other instances a human driver may be able to operate thevehicle; or may be a vehicle that is predominantly operated by a humandriver, but with the assistance of an automated driving/assistancesystem.

Implementations of the systems, devices, and methods disclosed hereinmay comprise or utilize a special purpose or general-purpose computerincluding computer hardware, such as, for example, one or moreprocessors and system memory, as discussed herein. Implementationswithin the scope of the present disclosure may also include physical andother computer-readable media for carrying or storingcomputer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

An implementation of the devices, systems, and methods disclosed hereinmay communicate over a computer network. A “network” is defined as oneor more data links that enable the transport of electronic data betweencomputer systems and/or modules and/or other electronic devices. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a transmission medium. Transmissions media can include anetwork and/or data links, which can be used to carry desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer. Combinations of the above should also be includedwithin the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, an in-dash vehicle computer, personalcomputers, desktop computers, laptop computers, message processors,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, mobile telephones, PDAs, tablets, pagers, routers, switches,various storage devices, and the like. The disclosure may also bepracticed in distributed system environments where local and remotecomputer systems, which are linked (either by hardwired data links,wireless data links, or by a combination of hardwired and wireless datalinks) through a network, both perform tasks. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) can be programmed to carry out one or moreof the systems and procedures described herein. Certain terms are usedthroughout the description and claims to refer to particular systemcomponents. As one skilled in the art will appreciate, components may bereferred to by different names. This document does not intend todistinguish between components that differ in name, but not function.

It should be noted that the sensor embodiments discussed above maycomprise computer hardware, software, firmware, or any combinationthereof to perform at least a portion of their functions. For example, asensor may include computer code configured to be executed in one ormore processors, and may include hardware logic/electrical circuitrycontrolled by the computer code. These example devices are providedherein purposes of illustration, and are not intended to be limiting.Embodiments of the present disclosure may be implemented in furthertypes of devices, as would be known to persons skilled in the relevantart(s).

At least some embodiments of the disclosure have been directed tocomputer program products comprising such logic (e.g., in the form ofsoftware) stored on any computer useable medium. Such software, whenexecuted in one or more data processing devices, causes a device tooperate as described herein.

While various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the disclosure.Thus, the breadth and scope of the present disclosure should not belimited by any of the above-described exemplary embodiments, but shouldbe defined only in accordance with the following claims and theirequivalents. The foregoing description has been presented for thepurposes of illustration and description. It is not intended to beexhaustive or to limit the disclosure to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. Further, it should be noted that any or all of theaforementioned alternate implementations may be used in any combinationdesired to form additional hybrid implementations of the disclosure.

Further, although specific implementations of the disclosure have beendescribed and illustrated, the disclosure is not to be limited to thespecific forms or arrangements of parts so described and illustrated.The scope of the disclosure is to be defined by the claims appendedhereto, any future claims submitted here and in different applications,and their equivalents.

The invention claimed is:
 1. A method comprising: receiving perception data from a perception sensor of a vehicle; calculating, based on the perception data, a location of a bollard receiver in relation to a body of the vehicle; calculating a safety margin centered on the bollard receiver; calculating a tangent from the body of the vehicle to an edge of the safety margin such that the tangent is drawn towards a side away from oncoming traffic; and determining a driving maneuver for the vehicle based on the location of the bollard receiver, the safety margin, and the tangent.
 2. The method of claim 1, wherein calculating the location of the bollard receiver in relation to the body of the vehicle comprises calculating based on information from a controller area network (CAN) bus of the vehicle.
 3. The method of claim 1, wherein calculating the location of the bollard receiver comprises calculating based on the perception data and further based on a vehicle driving history.
 4. The method of claim 1, wherein the perception sensor comprises two or more of a camera, a radar sensor, a light detection and ranging (LIDAR) sensor, and an ultrasound sensor.
 5. The method of claim 1, wherein the driving maneuver causes one or more tires of the vehicle to impact the bollard receiver with a tread portion of the one or more tires such that a sidewall portion of the one or more tires does not come in contact with the bollard receiver.
 6. The method of claim 1, further comprising determining a height of the bollard receiver based on the perception data.
 7. The method of claim 1, wherein calculating the safety margin comprises determining a distance around the bollard receiver to maintain between each wheel of the vehicle and the bollard receiver to ensure no part of the vehicle is damaged by the bollard receiver.
 8. The method of claim 7, wherein determining the driving maneuver for the vehicle comprises determining a modified trajectory for the vehicle based on a current location of the vehicle and the safety margin such that one or more tires of the vehicle does not come within the safety margin centered on the bollard receiver.
 9. The method of claim 1, wherein the driving maneuver further comprises adjusting an active suspension of the vehicle.
 10. The method of claim 1, further comprising storing information about the bollard receiver in a driving history.
 11. A system comprising: a perception sensor of a vehicle; and a controller of the vehicle comprising a processor that is programmable to execute instructions stored in non-transitory computer readable storage media, the instructions comprising: receiving perception data from the perception sensor of the vehicle; calculating, based on the perception data, a location of a bollard receiver in relation to a body of the vehicle; calculating a safety margin centered on the bollard receiver; calculating a tangent from the body of the vehicle to an edge of the safety margin such that the tangent is drawn towards a side away from oncoming traffic; and determining a driving maneuver for the vehicle based on the location of the bollard receiver, the safety margin, and the tangent.
 12. The system of claim 11, further comprising a suspension system in communication with the processor and configured to adjust a suspension of the vehicle in response to an indication received from the processor, and wherein the instructions executed by the processor further comprise determining an adjustment to the suspension of the vehicle based on a presence of the bollard receiver, wherein the adjustment comprises one or more of adjusting a height of a portion of the vehicle or adjusting a stiffness of the suspension of a portion of the vehicle.
 13. The system of claim 11, wherein the instructions further comprise one or more of: providing the driving maneuver as a suggestion to a driver of the vehicle; or providing the driving maneuver to a vehicle control system of the vehicle to execute the driving maneuver.
 14. The system of claim 11, wherein the instructions further comprise determining a height of the bollard receiver based on the perception data, wherein the perception sensor comprises two or more of a camera, a radar sensor, a light detection and ranging (LIDAR) sensor, and an ultrasound sensor.
 15. The system of claim 11, wherein the instructions are such that determining the driving maneuver for the vehicle comprises determining a modified trajectory for the vehicle based on a current location of the vehicle and the safety margin such that one or more tires of the vehicle does not come within the safety margin centered on the bollard receiver.
 16. Non-transitory computer readable storage media storing instructions for execution by one or more processors, the instructions comprising: receiving perception data from a perception sensor of a vehicle; calculating, based on the perception data, a location of a bollard receiver in relation to a body of the vehicle; calculating a safety margin centered on the bollard receiver; calculating a tangent from the body of the vehicle to an edge of the safety margin such that the tangent is drawn towards a side away from oncoming traffic; and determining a driving maneuver for the vehicle based on the location of the bollard receiver, the safety margin, and the tangent.
 17. The non-transitory computer readable storage media of claim 16, wherein the instructions further comprises determining an adjustment to be made to a suspension system of the vehicle based on the presence of the bollard receiver, wherein the adjustment comprises one or more of adjusting a height of a portion of the vehicle or adjusting a stiffness of a suspension of a portion of the vehicle.
 18. The non-transitory computer readable storage media of claim 16, wherein the instructions further comprise: providing the driving maneuver as a suggestion to a driver of the vehicle; or providing the driving maneuver to a vehicle control system of the vehicle to execute the driving maneuver.
 19. The non-transitory computer readable storage media of claim 16, wherein the perception sensor comprises two or more of a camera, a radar sensor, a light detection and ranging (LIDAR) sensor, and an ultrasound sensor.
 20. The non-transitory computer readable storage media of claim 16, wherein the instructions are such that determining the driving maneuver comprises determining a modified trajectory for the vehicle based on a current location of the vehicle and the safety margin such that one or more tires of the vehicle does not come within the safety margin centered on the bollard receiver. 